package com.itheima.chapter01.datatype;

public class Test {
    public static void main(String[] args) {
        System.out.println("字符串"+"  "+"爱意就像大雨落下");
        System.out.println("mchbdjk ");// 字符串
        System.out.println(456); //整数常量
        System.out.println(12.13);//小数常量
        System.out.println('s');// 字符常量
        System.out.println(true);//布尔常量
        System.out.println(false);

        //常量
        int a = 12;
        System.out.println("a="+a);
        float f = 14;
        float b = 12.3F,c = 13.13f,d = 15.36F;
        System.out.println("b="+b);
        System.out.println("c="+c);
        System.out.println("e.txt="+d);
        System.out.println("f="+f);
        long g = 1234564L;
        System.out.println("g="+g);
        boolean h =true;
        System.out.println("h="+h);


        //变量
        double j = f;//隐式转换
        System.out.println("j="+j);
        int k = (int)66.6;//强制转换
        int s = (int)b;
        System.out.println("k="+k);
        System.out.println("s="+s);
    }
}
/*
 * 常量：在执行程序中，其值不会发生改变的量（数据）
 * 常量分类：
 *        字符串：用双引号括起来的内容 eg.“加快速度化工厂”
 *        整数常量：所有整数 eg.123
 *        小数常量：所有小数 eg.12.3  13.14
 *        字符常量：用单引号括起来的内容 eg.‘A’
 *        布尔常量：布尔值 表真假 eg.true false
 *        空常量：一个特殊值，空值 null
 * */

/*
 * 变量：变量就是内存中的存储空间，空间中存储着经常发生改变的量（数据）
 * 定义格式： 数据类型 变量名 = 数据值
 *    数据类型：基本数据类型&引用数据类型
 *      基本数据类型：数值型&非数值型
 *        数值型：整数型（byte 1字节,short 2字节,int 4字节,long 8字节）,浮点数(float 4字节,double 8字节),字符(char 2字节)
 *        非数值型：布尔（boolean 1字节）
 *      引用数据类型：类（class）,接口（interface）,数组（[]）
 * 注意事项：
 * 1.变量名不允许重复
 * 2.一条语句可以定义多个变量
 *   需要用逗号进行分割  eg: int a=2,b=3,c=6;
 *   一条语句：Java当中使用分号作为一条语句的结束
 * 3.变量在使用之前一定要进行赋值
 * 4.定义float,long
 *   定义float类型变量时，需要在数值后加F的标识，F可大可小  eg:float b = 12.13F,float w = 15.13f;
 *   定义long类型变量时，需要在数值后加L的标识，L大写  eg:long c = 58690L;
 * 5.变量的作用域范围，只在他所在的大括号中有效
 *   当这个大括号中代码执行完毕后，内部所【定义】的变量就会从内存中消失
 * */

/*
 * 类型转换
 * 1.隐式转换：将数据类型中，取值范围小的数据给取值范围大的类型赋值可以直接赋值
 *   eg: int a = 10; double b = a;
 *   数据范围从小到大：byte-short-int-long-float-double
 *                  char-int-long-float-double
 *   细节：小数据类型和大数据类型运算时，小数据类型会提升为大的数据类型之后（数据类型统一）在进行运算
 *        特殊：byte,short,char三种数据在运算时候，不管是否有更高的数据类型，都会提升为int，然后再进行运算
 *2.强制转换:把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量（大给小，需强转）
 *   格式：目标数据类型 变量名 = （目标数据类型）值或者变量；
 *        eg: int k = (int)88.88;
 *   注意：强制类型转换，有可能会发生精度损失*
 * */

